import java.util.Arrays;

/**
 * 题目3：字符串转double数组、排序、计算sin值
 */
public class StringToDoubleArrayDemo11_25 {
    public static void main(String[] args) {
        // 1. 定义原始字符串
        String numStr = "60,120,30,90,180";
        System.out.println("原始字符串：" + numStr);

        // 2. 按逗号分割字符串，得到字符串数组
        String[] strArray = numStr.split(",");
        System.out.println("分割后的字符串数组：");
        for (String str : strArray) {
            System.out.print(str + " ");
        }
        System.out.println();

        // 3. 转换为double数组
        double[] doubleArray = new double[strArray.length];
        for (int i = 0; i < strArray.length; i++) {
            // 将字符串转换为double类型
            doubleArray[i] = Double.parseDouble(strArray[i]);
        }

        // 4. 使用Arrays类（数组服务类）从小到大排序
        Arrays.sort(doubleArray);
        System.out.println("排序后的double数组：");
        for (double num : doubleArray) {
            System.out.print(num + " ");
        }
        System.out.println();

        // 5. 计算arr[0]度的sin值（注意：Math.sin接收弧度值）
        double firstAngle = doubleArray[0];
        // 角度转弧度：Math.toRadians()
        double radians = Math.toRadians(firstAngle);
        double sinValue = Math.sin(radians);

        System.out.println("\n排序后第一个元素：" + firstAngle + "度");
        System.out.println(firstAngle + "度的sin值：" + sinValue);
        System.out.println("说明：sin30°理论值为0.5，浮点数精度导致结果接近0.5");
    }
}